﻿/*
 * Creado por SharpDevelop.
 * Usuario: Pavilion
 * Fecha: 25/10/2011
 * Hora: 10:41 p.m.
 * 
 * Para cambiar esta plantilla use Herramientas | Opciones | Codificación | Editar Encabezados Estándar
 */
using System;
using System.Collections;

namespace Negocio
{
	[Serializable]
	public class InfraccionVehiculo
	{
		private Vehiculo vehiculo;
		private Infraccion infraccion;
		private bool pago;
		private double importe;
        private DateTime fechasuceso;
        private DateTime fechavenc;
		
		
		public InfraccionVehiculo()
		{
		}
		
		public Vehiculo Vehiculo {
			get { return vehiculo; }
			set { vehiculo = value; }
		}
		
		public Infraccion Infraccion {
			get { return infraccion; }
			set { infraccion = value; }
		}
		
		public bool Pago {
			get { return pago; }
			set { pago = value; }
		}
		
        public DateTime FechaSuceso
        {
            get { return fechasuceso; }
            set { fechasuceso = value; }
        }

        public DateTime FechaVenc
        {
        	get { return this.obtenerFechaVencimiento(); }
            set { fechavenc = value; }
        }
		
        private DateTime obtenerFechaVencimiento() {
        	DateTime fechaVenc = fechasuceso.AddDays(30);
        	
        	return fechaVenc;
        }
        
        public double Importe {
        	get { return importe; }
        	set { importe = value; }
        }
        
		public override string ToString()
		{
			return infraccion.ToString() + " Vence el : " + obtenerFechaVencimiento() ;
		}
		
        public ArrayList convertirARelacional()
        {
            ArrayList datos = new ArrayList();
            datos.Add(this.Vehiculo.Id);
            datos.Add(this.Infraccion.Codigo);
            datos.Add(this.Pago);
            datos.Add(this.FechaSuceso);
            datos.Add(this.FechaVenc);
			datos.Add(this.importe);            

            return datos;
        }
        
        public void guardarInfraccionVehiculo() {
        	ArrayList infracciones = this.convertirARelacional();
        	Datos.Datos datos = new Datos.Datos();
        	datos.guardarInfraccionVehiculo(infracciones);
        }		
	}
}
